package com.smart.community.feign.region.dto;

import lombok.Data;

import java.io.Serializable;

/**
 * 地址信息数据传输对象
 * 用于Feign接口的地址信息传输
 * 
 * @author Wu.Liang
 * @since 2025-01-30
 */
@Data
public class AddressInfoDTO implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 详细地址
     * 格式："{省}{市}{区县}{街道/城镇}{社区名}{楼栋号}{单元号}{房户号}"
     */
    private String fullAddress;
    
    /**
     * 区域ID（最子节点）
     * 从sc_community表中的region_id字段获取
     */
    private Long regionId;
    
    /**
     * 区域名称（最子节点）
     */
    private String regionName;
    
    /**
     * 社区ID
     */
    private Long communityId;
    
    /**
     * 社区名称
     */
    private String communityName;
    
    /**
     * 楼栋ID
     */
    private Long buildingId;
    
    /**
     * 楼栋名称
     */
    private String buildingName;
    
    /**
     * 楼栋号
     */
    private String buildingNo;
    
    /**
     * 单元ID
     */
    private Long unitId;
    
    /**
     * 单元名称
     */
    private String unitName;
    
    /**
     * 单元号
     */
    private String unitNo;
    
    /**
     * 房户ID
     */
    private Long householdId;
    
    /**
     * 房户号
     */
    private String householdCode;
    
    /**
     * 房间号
     */
    private String roomNumber;
    
    /**
     * 楼层号
     */
    private Integer floorNumber;
    
    /**
     * 区域层级路径
     * 从父节点到子节点的区域名称组合
     */
    private String regionPath;
    
    /**
     * 区域层级列表
     * 包含从根节点到当前节点的所有区域信息
     */
    private String[] regionLevels;
} 